草庐IT

php - 正则表达式 str_replace

全部标签

javascript - 我可以使用交集缩短这个正则表达式吗?

我有只包含一个字符串的语言L:写得更简洁这个字符串有2(2^n−1)个字符,我想减少它。我正在考虑使用交集,如果我能找到一些常规语言,在这些语言中,它们的正则表达式的交集将产生这个字符串。我这里有递归函数以防万一:functionrecursiveRegex(charset){if(charset.length==0){return[];}else{varchar=charset.splice(charset.length-1,1);varreturnVal=recursiveRegex(charset);returnreturnVal.concat(returnVal)+char;}

javascript - Sizzle 的 CLASS Javascript 正则表达式?

我查看了Prototype.js代码并在那里看到了(在Sizzle部分):我的问题是关于那一行:类:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,\.用于点,接下来是(未捕获的组:单词、范围和-)或(\.)。(实际上它说\\.但第一个只是为了转义所以它是\.)。嗯?什么是\.?我测试了/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/.test('.aa\.')并返回true。但是.aa\.是什么?显然该类是.aa但如果\是有效的char,为什么它不在[..]部分?我错过了什么? 最佳答案

javascript - 正则表达式 - 替换逗号的所有奇数出现

如果我有一个格式如下的字符串:"name","bob","number",16,"place","somewhere"相反,我想要一个像这样的字符串:"name":"bob","number":16,"place":"somewhere"此外,测试用例中确实有一些这样的字符串示例:"name","bob","hello,world",true需要这样格式化:"name":"bob","hello,world":true...每个奇怪的逗号都被冒号替换(只要该逗号不在引号内),我究竟该如何通过正则表达式来做到这一点?我通过Google找到了以下正则表达式:/(,)(?=(?:[^"]|"

javascript - AngularJS 中 bool 表达式的评估

我正在测试ng-show和AngularJS表达式,但我发现了一些我无法理解的东西。我创建了一个变量displayed并为其分配了一个字符串'false'(不是bool值)。表达式displayed&&true被评估为true,第二个div显示没有问题(因为字符串和true应该是true)。我知道Angular表达式和JavaScript表达式之间存在一些差异,但是我不知道为什么不显示第一个div;似乎displayed被Angular编译为bool值。这是jsfiddle:http://jsfiddle.net/micmia/1psf70tv/3/模板:test1test2Contr

javascript - 在没有eval的情况下评估Javascript中字符串中的 bool 表达式

我有一个包含bool逻辑的字符串,类似于:((true&&true)||false&&!true)Javascript中安全评估此字符串以获得bool结果的最佳方法是什么?我想避免使用eval()。 最佳答案 我为另一个问题编写了这个bool字符串解析器:varexp1="(true&&true||false)&&(true||(false&&true))";varexp2="((true&&true)||false&&!true)";varexp3="(true&&!false)&&true&&!false";varexp4="(

javascript - JavaScript 正则表达式中的多个嵌套匹配

尝试编写一个正则表达式来匹配GS1条形码模式(https://en.wikipedia.org/wiki/GS1-128),该模式包含2个或更多此类模式,这些模式具有标识符后跟一定数量的数据字符。我需要一些匹配此条形码的东西,因为它包含2个标识符和数据模式:人类可读,括号中的标识符:(01)12345678901234(17)501200实际数据:011234567890123417501200但是当只有一个模式时不应该匹配这个条形码:人类可读:(01)12345678901234实际数据:0112345678901234似乎以下应该有效:varregex=/(?:01(\d{14})

javascript - 有什么方法可以改进这个正则表达式吗?

我在正则表达式方面有点新手,因此希望得到同行对此的一些反馈。它将在我的网站上大量使用,因此任何奇怪的边缘情况都会造成严重破坏。这个想法是以整数或分数的形式输入食谱中成分的数量。由于我的自动完成机制,只有一个数字也是有效的(因为它会弹出一个下拉列表)。这些行是有效的:11/211/24cups41/2cups103/4cupssliced该行的数字部分应该是它自己的组,这样我就可以用我的分数解析器解析它。数字部分之后的所有内容都应该是第二组。起初,我试过这个:^\s*(\d+|\d+\/\d+|\d+\s*\d+\/\d+)\s*(.*)$这几乎可以工作,但是“11/2杯”将被解析为(1

javascript - 正则表达式验证器不允许\w 使用非英文字符

我的页面中有电子邮件字段,我正在使用我的asp.net提供的正则表达式验证器对其进行验证。我使用与电子邮件验证器相同的验证表达式,即ValidationExpression="\w+([-+.']\w+)@\w+([-.]\w+).\w+([-.]\w+)*"它工作正常,但当我尝试输入非英文字母时出现问题,例如èéüûă等但我的问题是,当我在javascript中使用相同的表达式时,它允许这些字符,即使在服务器端,相同的表达式也允许这些字符。我认为'\w'允许所有字母数字字符以及非英文字符,但是我不知道为什么在验证器中使用它时不允许。如果我做错了什么,请提出建议。

javascript - 拒绝绝对无效的电子邮件地址的最不坏的正则表达式是什么?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:ValidateemailaddressinJavascript?我知道没有办法仅使用正则表达式来验证电子邮件地址,但我认为我应该能够拒绝一些明显无效的地址,以帮助错误输入不同内容的友好用户,例如他们的姓名或密码输入电子邮件地址字段。因此,我不想拒绝任何有效的电子邮件地址,但想仅使用正则表达式拒绝尽可能多的无效电子邮件格式。但我想任何javascript/jquery/...都可以。这是我目前所拥有的:^.+@.+\..+$是的,没有用于真正验证的正则表达式,但应该有一些用于拒绝。不,这不会阻止任何人输入虚假

javascript - Javascript 中的 str.charAt(5) 与 str[5]

为什么str[3]版本显然慢得多?varstr='Hello';str.charAt(3);str[3];http://jsperf.com/charat-ck编辑:对我来说,str[3]在Chrome28.0.1500.71Ubuntu13.04上慢了80%。 最佳答案 稍微调整基准:http://jsperf.com/charat-ck/4不要使用这样的常量和无操作代码,因为它很容易被删除,这样您就无法衡量您认为正在衡量的内容。接下来考虑即使我们有无限智能的JIT,这些操作也有不同的语义:当你越界调用charAt时会发生什么?只